pub fn largest<T: std::cmp::PartialOrd>(list: &[T]) -> &T {
    let mut largest = &list[0];
    for item in list.iter() {
        if item > largest {
            largest = item;
        }
    }

    largest
}

pub fn add<T: std::ops::Add<Output = T>>(a:T, b:T) -> T {
    a + b
}